<html>
<head>
<title>asharp</title>
   <link rel="stylesheet" type="text/css" href="../../avisynth.css">
<!--
Automatically generated, don't change:
$Id: asharp.htm,v 1.1 2004/10/14 22:14:18 alex_e_basta Exp $ 
-->
</head>
<body>
<h1>Asharp</h1>
<h2>Riassunto</h2>
<b>author:</b> MarcFD
<br><b>version:</b> 0.95<br>
<b>download:</b> <a href="http://ziquash.chez.tiscali.fr/">http://ziquash.chez.tiscali.fr/</a><br>
<b>category:</b> Sharpen/Soften Plugins<br>
<b>requirements:</b> YV12 Colorspace
<hr>
<h2>Descrizione</h2>
Questo filtro sostanzialmente &egrave; una comune unsharp mask, semplicemente 
perch&eacute; unsharp<br>
mask &egrave; la pi&ugrave; piacevole tecnica di sharpenning per i miei occhi^^<br>
ma ho aggiunto 3 semplici idee che avevo sullo sharpening :<br>
- una soglia che si adatta per evitare l'aumento del rumore<br>
- uno sharpening che si adatta ai blocchi per evitare l'intensificazione dei contorni 
dei blocchi prodotti dalla DCT<br>
- una soglia che si adatta ai blocchi per evitare l'intensificazione dei contorni 
dei blocchi prodotti dalla DCT<br>
<br>
E' ottimizzato per la qualit&agrave;, non per la velocit&agrave;, ma ... io amo 
la velocit&agrave; sicch&eacute; ho aggiunto un codice ben ottimizzato per MMX/ISSE 
code.<br>
<br>
Lavora nel colorspace YV12 , e solo sul luma (chroma sharpenning sembra aggiunga 
solo artefatti)<br>
<h3>Uso di asharp</h3>
	Per prima cosa, aggiungere allo script .avs : 
<pre>LoadPlugin(&quot;asharp.dll&quot;) # because Avisynth 2.5 doesn't support Autoloading yet</pre>
<p>Per un semplice unsharp masking con una forza 2x :</p>
<pre>Asharp(2,0)</pre>
<p>Per provare un adaptive sharpenning :</p>
<pre>Asharp(2, 4)</pre>
<p>Suggerimento per divx anime :</p>
<pre>Asharp(2. 5, 4.5, 0.25, hqbf=true)</pre>
<h3>Sintassi</h3>
	<code>
    asharp
	</code> (<var>float "T", float "D", float "B", bool &quot;hqbf&quot;</var>)
<p><var>T</var> : unsharp masking threshold. 0 non fa nulla. (valori fissati a 
  [nulla=0..32])</p>
<p><var>T</var> = 1 &egrave; come il 32 del filtro ffdsow/Vdub unsharp mask, aumenta 
  il contrasto 1x. Default &egrave; <var>T</var> = 2.</p>
<p><var>D</var> : adaptive sharpenning strength. (valori fissati a [disabilitato=0..16])</p>
<p>Se <var>D</var> &gt; 0, adaptive thresholding &egrave; abilitato<br>
  La threshold &egrave; adattata per ogni pixel (maggiore per i contorni).<br>
  Se l'adaptive sharpenning &egrave; abilitato, <var> T</var> funziona come un 
  massimo.<br>
  Default &egrave; <var>D</var> = 4.</p>
<p><var>B </var> : block adaptive sharpenning. (valori fissati a [disabilitato=0..4])</p>
<p>Impostare un valore negativo per disabilitare.<br>
  Se <var>B</var> &gt;= 0, block adaptive sharpenning &egrave; abilitato.<br>
  Agisce molto semplicemente abbassando la soglia ( threshold) attorno i bordi 
  dei DCT-blocks .<br>
  Se lo si usa, evitare qualunque cropping non mod8 tra il decoder e asharp.<br>
  (quando <var>D</var> &gt; 0 lavora solo con un adaptive sharpenning)<br>
  Default &egrave; <var>B</var> = -1 (disabilitato)</p>
<p><u><var>hqbf</var></u> : block filtering ad alta qualit&agrave;. (detto anche 
  block based adaptive thresholding.)</p>
<p>E' stata una pena implementarlo in SIMD, ma questo filtro mi piace.<br>
  Provate con e senza su un video pieno di blocchetti, e capirete perch&eacute;^^<br>
  Funziona solo con adaptive thresholding.<br>
  Default &egrave; false (disabilitato).<br>
</p>
<p><kbd>$Date: 2004/10/14 22:14:18 $</kbd></p>
</body>
</html>